
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
; DATA
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
align 4
d5cspr          dd      cspr0e
d5csprtbl       dd      cspr0e,cspr0f,cspr12,cspr13,cspr14,cspr15

d5csprloc       dw      372
d5csprindex     db      0

d5heighttbl     db 37,36,36,35,34,33,33,32,31,30,30,29,28,28,27,26
                db 26,25,24,24,23,23,22,21,21,20,20,19,18,18,17,17
                db 16,16,15,15,14,14,13,13,12,12,11,11,10,10,10,9
                db 9,8,8,8,7,7,6,6,6,5,5,5,5,4,4,4
                db 3,3,3,3,2,2,2,2,2,1,1,1,1,1,1,0
                db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
                db 0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1
                db 1,1,2,2,2,2,2,3,3,3,3,4,4,4,5,5
                db 5,5,6,6,6,7,7,8,8,8,9,9,10,10,10,11
                db 11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19
                db 20,20,21,21,22,23,23,24,24,25,26,26,27,28,28,29
                db 30,30,31,32,33,33,34,35,36,36,37

;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
; CODE
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±

;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
p50:
        movzx ebx,d5csprloc
        sub ebx,2
        jnz short p50f0
        movzx edx,d5csprindex
        inc dl
        cmp dl,6
        jb short p50f1
        xor dl,dl
p50f1:
        mov d5csprindex,dl
        mov eax,d5csprtbl[edx*4]
        mov d5cspr,eax
        mov ebx,372
        push offset setnext
p50f0:
        mov d5csprloc,bx
        mov eax,ebx
        shr eax,1
        movzx edi,d5heighttbl[eax]
        imul edi,100
        mov eax,ebx
        and eax,3
        mov al,vidbittbl2[eax]
        shr ebx,2
        lea edi,[edi+ebx+15*100-13]
        add edi,_vidptr
        mov dx,3c5h
        call d5cspr
        ret

